home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
hity wydania
/
Bank smakow
/
BankSmakow.air
/
BankSmakow.swf
/
scripts
/
com
/
makingwaves
/
commands
/
LoadDataCommand.as
next >
Wrap
Text File
|
2009-12-16
|
3KB
|
72 lines
package com.makingwaves.commands
{
import com.adobe.cairngorm.commands.ICommand;
import com.adobe.cairngorm.control.CairngormEvent;
import com.adobe.cairngorm.control.CairngormEventDispatcher;
import com.makingwaves.config.Configuration;
import com.makingwaves.events.UpdateEvent;
import com.makingwaves.logic.ProductUpdater;
import com.makingwaves.logic.RecipeUpdater;
import com.makingwaves.sql.TransactionDatabaseManager;
import com.makingwaves.util.DataLoader;
import com.makingwaves.vo.DataSource;
public class LoadDataCommand implements ICommand
{
private var _success:Boolean = true;
private var _pendingDataSources:Array;
public function LoadDataCommand()
{
super();
}
public function execute(param1:CairngormEvent) : void
{
var _loc2_:TransactionDatabaseManager = new TransactionDatabaseManager();
var _loc3_:Configuration = Configuration.getInstance();
var _loc4_:DataLoader = new DataLoader();
var _loc5_:ProductUpdater = new ProductUpdater();
_pendingDataSources = cloneArray(Configuration.getInstance().dataSources);
_loc5_.addEventListener(UpdateEvent.EVENT_NAME,onUpdateFinish);
var _loc6_:Date = _loc2_.getLastUpdate(-1);
_loc4_.GetDataObject(_loc5_,_loc3_.productsUrl(_loc6_));
}
private function onUpdateFinish(param1:UpdateEvent) : void
{
var _loc4_:TransactionDatabaseManager = null;
var _loc5_:RecipeUpdater = null;
var _loc6_:Date = null;
var _loc2_:DataLoader = new DataLoader();
var _loc3_:DataSource = _pendingDataSources.pop() as DataSource;
_success = _success && param1.success;
if(_loc3_ != null)
{
_loc4_ = new TransactionDatabaseManager();
(_loc5_ = new RecipeUpdater(_loc3_.id)).addEventListener(UpdateEvent.EVENT_NAME,onUpdateFinish);
_loc6_ = _loc4_.getLastUpdate(_loc3_.id);
_loc2_.GetDataObject(_loc5_,_loc3_.url(_loc6_));
}
else
{
CairngormEventDispatcher.getInstance().dispatchEvent(new UpdateEvent(_success));
}
}
private function cloneArray(param1:Array) : Array
{
var _loc3_:DataSource = null;
var _loc2_:Array = new Array();
for each(_loc3_ in param1)
{
_loc2_.push(_loc3_.clone());
}
return _loc2_;
}
}
}